Changed vendor (external) files to use bower/node where possible

This removes the external dependencies so they aren't sitting in our code base. Grunt can now initialize and retrieve them, making them part of the build.

The biggest wins here are a smaller library size and a bit more structure around managing our dependencies. This is a nice alternative to git submodules since we're not trying to build anyone else's code, just used their published artifacts.