Grade change indicators and UI polish

added grade change indicators (may be buggy)
polished lock UI
changed spinner/loader
code readability in hac.js (split tasks into functions)
added quick grade faking with imposter()
changed `x == undefined` to `typeof x == "undefined"`