Model loader registry

Should make custom model loaders possible.
Example: you specify model in your block state json: "modid" : "custom_model.obj", and you make and register a custom loader that will accept all models that end with ".obj". This will cause vanilla json model loader to bypass this model, and relevant methods will be called on the custom loader.
TODO: write test/example implementation, check if all hooks are correct