Static Optimization

- Use hash for js and css file for cache busting
- Reformat grunt modules to improve build process
- Implement and optimize UnCSS to cleanup unneeded styles