Demos: Add everything to a single listview and add intro blurb

Fixes gh-58
Tokentextarea2: Adding re-write
Tokentextarea2: Fleshing out the widget
Tokentextarea2: Ensure typed text is always visible
Tokentextarea2: Reducing button margins a bit
Tokentextarea2: Empty tokentextarea needs initial non-zero size
Tokentextarea2: Deselect selected contacts when the user starts typing
Tokentextarea2: opacity: 0 serves us better than visibility: hidden because the element remains focusable
Tokentextarea2: Simplify focus handling
Tokentextarea2: Render blocks unfocusable when the widget is disabled
Tokentextarea2: Finalizing initial implementation
Gruntfile.js: Add integration tests
Tokentextarea2: Handle long input and whitespace correctly
Tokentextarea2: Make modular build work
Tokentextarea2: Fix exceptions and errors
Tokentextarea2: Initially hide input only when there are initial blocks
Tokentextarea2: _adjustWidth() removes class initial

It needs to be called from add(), so the actual adding is now done with
_add(), which does not _adjustWidth() because it may be called during
instantiation.
Gruntfile.js: Add css tests subdirectory
Tokentextarea2: CSS and integration tests
Tokentextarea2: Adding demo