Using PhantomJS in tests run with npm/grunt

Executing ``npm test``, ``grunt`` or ``grunt jasmine`` will now use PhantomJS for testing, expanding test compatibility.

This pull request improves compatibility and introduces Grunt to the project.