Move to define/require and move 'use strict'

This changes the scope of ‘use strict’ to each file, which is wrapped
in an anonymous function by Meteor. So as not to piss off JSHint and
Javascript with these globals in strict mode, this uses a package to
define and require different variables between files.
Fix hot and top bugs
Add a semicolon because I'm stupid
Merge pull request #144 from christianbundy/fix-upstream