Split out commercial.js from app

Also inlines `curl`, saves a lot of headaches around sourcemaps, adds ~ 5kb to head

Added a few modules to core, things that are used across `app` and `commercial`, not sure how well this will play with our 'core-is-relatively-static-and-therefore-cacheable' philosophy

Also, fixes `watch:js`
`lazy val` would be needed here. Otherwise it's gonna IO each call.