sketch: add multi-architecture binary support

Build both amd64 and arm64 Linux binaries and embed them both.
Simplify API to use single LinuxBinary(arch) function for architecture
selection. Update copyEmbeddedLinuxBinaryToContainer to detect Docker
server architecture using 'docker version --format' and automatically
use the correct binary.

This enables sketch to work correctly on both x86_64 and ARM64
Docker environments without requiring architecture-specific builds.
Unsupported architectures return nil instead of panicking.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: sd498605bf58e984ek
diff --git a/embedded/embedded.go b/embedded/embedded.go
index a5b8c49..70b82cf 100644
--- a/embedded/embedded.go
+++ b/embedded/embedded.go
@@ -10,7 +10,7 @@
 )
 
 // LinuxBinary returns the embedded linux binary.
-func LinuxBinary() []byte {
+func LinuxBinary(arch string) []byte {
 	return nil
 }
 
diff --git a/embedded/embedded_innie.go b/embedded/embedded_innie.go
index 475e7a2..8aa4789 100644
--- a/embedded/embedded_innie.go
+++ b/embedded/embedded_innie.go
@@ -11,7 +11,7 @@
 var webUIAssets embed.FS
 
 // LinuxBinary returns the embedded linux binary.
-func LinuxBinary() []byte {
+func LinuxBinary(arch string) []byte {
 	return nil
 }
 
diff --git a/embedded/embedded_outie.go b/embedded/embedded_outie.go
index a89ff4b..42b32b7 100644
--- a/embedded/embedded_outie.go
+++ b/embedded/embedded_outie.go
@@ -7,12 +7,21 @@
 	"io/fs"
 )
 
-//go:embed sketch-linux/sketch-linux
-var sketchLinuxBinary []byte
+//go:embed sketch-linux/sketch-linux-amd64
+var sketchLinuxBinaryAmd64 []byte
+
+//go:embed sketch-linux/sketch-linux-arm64
+var sketchLinuxBinaryArm64 []byte
 
 // LinuxBinary returns the embedded linux binary.
-func LinuxBinary() []byte {
-	return sketchLinuxBinary
+func LinuxBinary(arch string) []byte {
+	switch arch {
+	case "amd64", "x86_64":
+		return sketchLinuxBinaryAmd64
+	case "arm64", "aarch64":
+		return sketchLinuxBinaryArm64
+	}
+	return nil
 }
 
 // WebUIFS returns the embedded webui filesystem.