Addes some new api's to simplify usage

Also checked in packages to simplify developement for peoples who want
to extend. IMHO a cloned directory is expected to work AS IS, (maybe
having to run a "git submodules init"). When I opened the project it
simply would not compile because of missing references.