Support top-level `require` with dependencies and callback

Hello!

I noticed that:

````js
require(['dep1', 'dep2'], function(dep1, dep2) {});
````
Didn't seem to be supported. I think it's a pretty rare thing, and a bit against the typical AMD spec, but there are places that use that in their modules (like where I work).

I'm also really sorry for the slightly messy diff. My editor's settings auto clean trailing whitespace.