Remove requirejs, replace with browserify

I would still definitely call them side effects, especially since it's very rare to have code modify the working environment upon being required (for example, `require('some-module')` should basically always be a no-op because it's not being assigned to anything). It also makes testing extremely difficult.

Ideally these shims would export a function that takes a root element. 99% of the time that will be `window`, it can even default to window, but by A) executing on call instead of load and B) making the function more flexible by having the root element be a parameter, it opens up the ability to write automated tests for this in a way that isn't fragile.