support for Lang::load_syspath + better library loading

Libraries will now automatically be resolved to the syspath if the path
provided does not exist. Alternatively if a library file is not found by
either method they will resolve to the directory before stopping with an
exception if that fails too.