Multiple views with same subviewCreator

Add support for optional data-subview-id attribute (subviewId) which, if
present, is used in place of subviewName as the key for the cached
subview object.  Using this, you can create multiple views with the same
subviewCreator, so long as their data-subview-ids are distinct (and
consistent).

Conflicts:
	test/tests.js