Refactor appendIfNode and defaultRenderCell to be on instance

Also refactored Grid to always hook up default renderCell;
this allows plugins to not have to worry about falling back,
as long as they wait until init to access/override it.
_StoreMixin: Refactor observer logic

* move bulk of observed change logic into _onNotification
	* pass options to _onNotification to allow further passing
	* assume parent is always contentNode (currently breaks tree)
* track observer index via map instead of DOM property
	* breaks tree and OnDemandList
_StoreMixin: avoid unnecessary splicing when from === to
_StoreMixin: Modify renderQueryResults to return an object

Object contains items (resolved results), total (resolved), rows
Add initial steps towards reimplementing OnDemandList, as OnDemand

Currently only renders first page of data
OnDemand: add naive initial _processScroll implementation

Doesn't remove distant rows, doesn't support scroll "jumping"