support component and browserify with minor refactor

And there are also some other cool features besides:
- managing all dependencie via a manifest (`component.json`) with semver
  - jquery
  - qunit
  - raphael
- no more embedding several files into any HTML page
- vexflow can be installed and be used as a module with component and npm/browserify