all: re-organize build/release

- extract steps into shell files
- fix GoReleaser builds (I hope)
- rely more on the toolchain for version information
- allow non-standard builds, but print a warning

Suggested-by: Marc-Antoine Ruel <maruel@gmail.com>
diff --git a/.goreleaser.yml b/.goreleaser.yml
index 352d675..6e8ae18 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -8,7 +8,7 @@
 
 builds:
   - id: sketch
-    # Note: this build corresponds to 'make outie'; please keep them in sync.
+    # Note: this build corresponds to build/outie.sh; please keep them in sync.
     main: ./cmd/sketch
     binary: sketch
     goos:
@@ -17,16 +17,16 @@
     goarch:
       - amd64
       - arm64
-    tags:
-      - outie
     ldflags:
-      - -X main.version={{.Version}}
-      - -X main.commit={{.Commit}}
-      - -X main.date={{.Date}}
-      - -X main.makefile=goreleaser
+      - -X main.release={{.Version}}
+      - -X main.builtBy=goreleaser
+    env:
+      - SKETCH_VERSION={{.Version}}
+      - BUILT_BY=goreleaser
     hooks:
       pre:
-        - ./.goreleaser/build-target.sh
+        - ./build/webui.sh
+        - ./build/innie.sh
 
 archives:
   - id: releaseArchive