Rewrite everything from scratch

Total rename, change concepts, implementation...

Important changes:

* Abstract class `Observable` and two actual descendants: `Stream` and `Box`.
* No `flatMap` on Observable. Only descendants are monads.
* No `merge` on `Box`, no `zip` on `Stream`.
* Less primitives, more high-level combinators. Even by the cost of efficiency. We'll find out what's slow later.