refactored code into more modular structure and added build

The monolith was hard to parse mentally so I broke it out into angular modules. Additionally wanted a gulp build, and thought this would be a strong candidate for adding to bower so I added that as well.

The modular approach is still a work in progress. I also plan to add unit tests and refine the overall structure.

Would love to hear thoughts about this direction, and if it is desired. If it isn't, I'll stop sending PRs ;)