Grunt

This PR makes many changes to the layout of the repository, mainly to enable grunt and switch to LESS.

This is based off work done by myself some time ago and @ryanwooten6 some time ago.

I'm opening this PR to allow the community to review the changes and propose improvements (I will accept PR to this branch). Don't be shy. I will be rebasing fairly often, as this is still a WIP.

Merging this will close PR #550 and close #315 (there might be others).