feature(change detection): implement barebone ChangeDetector

fixes #39 

@mhevery could you pease review this
`if (this.protoRecord.dispatcherCtx == null) {`