Improvde deferred, remove getSelf/runUI

We capture component context and encapsulate every type info in computation so
this should be opaque to executor of a deferred action.

Also make deferred check for isMounted() so we can safely run deferred
computations out of FFI. Do we need another version of deferred which would
execute some fallback action in case component was unmounted?