refactor(injection): remove background.js and content_script.js

- remove background.js and content_script.js

- add builds/chromium/inject.js, it only injects sources, nothing more
- add firefox/chrome/content/inject.js, it only injects sources, nothing more
- add maxthon/inject.js, it does nothing :(
- add opera/includes/inject.js, it does nothing :(

This closes #31.

BREAKING CHANGES: this commit simply breaks everything.
Ajax requests made to background.js are now ignored and not handled.
Opera and Maxthon versions do not work at all since sources aren't
being injected.
Same for Safari version as it is not fixed at all.

Needs further fixes which are not included in this commit not to make it
enormous.
refactor(safari): drop Safari support

This closes #40.
feat(build): concat scripts using gulp

- remove build.sh and build.bat
- add package.json and gulpfile.js
- rename source/vkopt.js to source/01_vkopt.js and so on
to define order of concatenation since gulp.src() pipes files
in alphabetical order (this is the simpliest and best option)
- edit builds/*/inject.js accordingly

This closes #17 and closes #18.
feat(build): inject source as string into opera-inject.js

- add source/meta/opera-inject.js, inject source into this file using
gulp; in this file run injected source using eval(). The file is called so
to maintain consistency with other */inject.js files, because it should
inject source code into page context; not because of source string
injection
- in gulpfile concat and inject source into opera-inject.js and write
result to builds/opera/includes/inject.js

This closes #41.
feat(build): inject source as string into maxthon-inject.js

- add source/meta/maxthon-inject.js, inject source into this file using
gulp; in this file push injected source into page context using <script> tag
- in gulpfile concat and inject source into maxthon-inject.js and write
result to builds/maxthon/inject.js
- remove includeFrames: true from def.json. See: #42.

This closes #39.
fix(source): remove UserScript headers

This closes #44.
refactor(chrome): remove placeholder locales, set default to English

This closes #34.
fix(meta): fix typo "insired" > "inspired"

This closes #33.
fix(maxthon meta): change extension guid

This fixes #38.
fix(meta): remove VkOpt logo from everywhere

This is related to #32.
feat(chromium meta): generate manifest.json using gulp

- add source/meta/chromium-manifest.json which is a Lo-Dash template
- add gulp "meta" task which compiles that template and writes
result to builds/chromium/manifest.json
- run "meta" task in "default" task
- ignore builds/chromium/manifest.json

This is related to #43.
fix(opera): take .gitignore out of extension folder
feat(firefox meta): generate meta files using gulp

- add source/meta/firefox/install.rdf and chrome.manifest
which are Lo-Dash templates
- in gulp "meta" task compile them to builds/firefox
- ignore these files in builds/firefox
- change Firefox add-on ID to happy@deltaidea as it is more clear

This is related to #43.

IMPORTANT: Manually remove previous version from Firefox as this
commit changes Firefox add-on ID.
refactor(source/meta): namespace files under browser folders

E.g. move meta/maxthon-inject.js to meta/maxthon/inject.js
feat(maxthon meta): generate def.json using gulp

- add source/meta/maxthon/def.json which is a Lo-Dash template
- in gulp "meta" task compile it to builds/maxthon/def.json
- ignore builds/maxthon/def.json

This is related to #43.
feat(opera meta): generate config.xml using gulp

- add source/meta/opera/config.xml which is a Lo-Dash template
- in gulp "meta" task compile it to builds/opera/config.xml
- ignore builds/opera/config.xml

This finally closes #43.
fix(maxthon): take .gitignore out of extension folder
style(builds/.gitignore): rearrange lines
style(build): rename happy.js to dist.js
feat(init): use actual current version in source code

- add source/01_init.template.js with basic extension info
- precompile source/*.template.js using gulp-template
- replace vVersion and vBuild with happy.version

This closes #45.