Don't cache submodels

asn1.js uses same model object for different depths of
recursive encoding.

It is possible that use-function would return different
submodels on different calls so caching it's return value would
break encoding.
Perhaps we could do it in a bit more efficient way.

What if we would check if the `this._use(entity, obj)` result is the same as the previous one and clone the stuff in `implicit` if only if the decoder has changed? Does it make sense?