support for aggregate 'phone' and 'tablet' detection

While working with this library, it became useful to have a grouping for 'phone' and 'tablet' to avoid having long conditional statements in app code. 

I also a very basic NPM manifest to allow locally installing the grunt libraries needed for tests/uglify, and added a Bower manifest file.  To allow registering with Bower for installation, a 0.3.0 tag will need to be created in this repo to match the manifest.