* Change the way namespace creation works. We should create new
namespaces via the context so we can insert them in the contenxt
* Change the way setting the current namespace works. `withCurrentNS`
method gets a function as input param and a ns name and runs the
function with the ns set as the current NS and restore the state
after that
* Change the way Dylibs register with the context and namespaces
and lookup the dylibs will use the context to use the most recent
dylib of a namespace.