all: update shebangs for more portability

NixOS by default doesn't ship with /bin/bash, rather /usr/bin/env bash is the way to get the right bash.

This caused two issues on NixOS:

1. The `push` button on the web interface would fail with ` ! [remote rejected] <commit> -> <branch> (pre-receive hook declined)`
2. `make` would result in an error

On the host side, for 1 you could see `fatal: cannot exec '/tmp/sketch-git-hooks-3993344797/pre-receive': No such file or directory`, and for 2, you could similarly see `make: ./build/webui.sh: No such file or directory`

This fixes both of those errors by updating to more portable shebangs.
```
diff --git a/dockerimg/githttp_test.go b/dockerimg/githttp_test.go
index 95a565a..eb5c964 100644
--- a/dockerimg/githttp_test.go
+++ b/dockerimg/githttp_test.go
@@ -51,7 +51,7 @@
 	// Check for key elements in the script
 	contentStr := string(content)
 	if !containsAll(contentStr, []string{
-		"#!/bin/bash",
+		"#!/usr/bin/env bash",
 		"refs/remotes/origin/",
 		"git push origin",
 		"Force pushes are not allowed",
@@ -110,7 +110,7 @@
 
 	// Verify the script contains the expected bash shebang
 	scriptContent := string(script)
-	if !contains(scriptContent, "#!/bin/bash") {
+	if !contains(scriptContent, "#!/usr/bin/env bash") {
 		t.Errorf("pre-receive hook missing bash shebang")
 	}