Rework shared_ptr and unique_ptr
Introduce 'scoped'.
Use scoped + GC instead of ugly stack / malloc constructs.

Replace all usages of Typealloc with scoped and move CircularBuffer to
Internal.util.
Clean up, remove redundant label and add missing comment.