API changes + cleanup
* Handles now have to be created manually using T::create() or T::gen()
* Fixed const correctness
* Implemented better assert
* Added asserts all around