refactor things from main.js to shared.js

Conflicts:
	main.js
rename underscore.min for consistency
playing around with angularjs
opts: relative URLs for images in css
update ancient underscore.js
opts: setup backbone, some things implemented
add grunt and phantomjs for running tests
cleanup
move writeObj and getItem as instance variables
fix indent
implement reset to defaults button
add comment
split backbone logic into multiple files
fix options import paths and manifest
opts: use absolute paths for lib js
opts: fix favicon
grunt: watch options directory
settings: use fetch and save instead of sync
settings: fix localstorage read
add unsafe eval to manifest

makes _.template() work in a chrome extension