Fix some problems pointed by jshint
Code clean up
Extract core functionality to core.js
Add json support check to BaseRequirements
Improve classic view rendering on mobile devices