ObjectStore now supports private per-observer state storage.

Model view observer objects are registered with an ObjectStore instance to receive notification callbacks of changes in store state. The callback signature has been modified to such that all callbacks pass the ObjectStore by reference in the first parameter position. Additionally, ObjectStore has been modified to include the additional methods openObserverState, openObserverComponentState, and openObserverNamespaceState. All require an observer ID and namespace selector and return an initially uninitialied object that model view observer classes may use for whatever purposes they require (e.g. metadata related to presentation).