Add experimental support for web-components

Added new demo to test a possible custom elements implementation, modified TitledPane to accept values other than jidejs/ui/Component for its content property. Implementation is not finished yet, doesn't properly calculate the height of its contents. Not a major problem since we wanted to improve its implementation anyway.
Enable using data-property to assign a child to a property.
Initial prototype for custom elements and templates.

At this point, the context within templates doesn't work properly. It needs some additional changes.
Fixed context handling in bind-expressions, renamed attribute for binding from data-bind to bind; export some controls (Component, Control, Labeled, ButtonBase and Button); implement template referencing (through the ref attribute).
Utilize new template and binding features to simplify some controls.
Fix various bugs.
Improve bower compatibility.

Update grunt script, website and demos to use bower_components instead of bower directory, fix jQuery version dependency (resulted in errors when downloading bootstrap)
Fix build script

The urlmapping wasn't picked up from the correct location by the example compiler.
Fix Javascript syntax highlighting for custom controls guide.
Don't forgot to load require.js on the examples website
Add html files from the jidejs directory to the output for the website.
Add compress step to build.

Builds will be created as zip files and placed in the new release directory (excluded from git)
Improve package.json and bower.json to prepare release to npm and bower.
Be more specific about the versions of node modules we want for the build process, update jsdoc to 3.2.2.
Merge branch 'dev' into html5/custom-element

Conflicts:
	Gruntfile.js
	demo/apps/email/style.css
	jidejs/ui/control/ButtonBase.js
	website/contents/examples/examples.js
Merge in dev branch
Recompile examples.js
Replace custom wintersmith build task with grunt-wintersmith, build process now requires wintersmith:build task to be invoked explicitly after the website task has completed. Needs further fixing.
Fix spacing and alignment issues for the email demo.
Various bug fixes; implement 'is' binding (upgrades an element to a component)

- Implement ability to prevent property events from bubbling (skin property should not bubble)
- 'foreach' binding should insert and remove the correct elements, even if the template consists of more than one child node
- ComputedObservable should not regenerate its value after its dispose method has been invoked
- Orientation should use textual values not numbers so that it can be used from templates