Code refactored

Added/modified:
- Button creation API
- Support for Greasemonkey, Tampermonkey and Chrome native userscripts
- Implemented text placing at caret position and auto caret moving
- Added NERDZ Pro Theme support (enable in NERDZ Preferences -> Profile)
- Easy way to add format buttons, just use createAppendButton (..., ..., ..., stylingCallback, true)
- Renamed from 'script.js' to 'script.user.js' for local userscript support.