Too much stuff.  Namespace adjustments, introducing layers, rack tomfoolery

and an executable.  Madness.
Getting the standalone script working again

including properly passing `ARGV` to `Rack::Server` and adding a
top-level `#app` module function for convenience.