Refactored editor.js

I just felt like refactoring your `editor.js` ;)

- Refactored editor.js
- Tweaked button layout
- Updated selection handling (freaking browser events…)
- Merged basic Grunt.js fork and removed unused cases
- Merged embedded edtior fork and removed it again
- Added .jshintrc and .jshintignore files for clean code