BREAKING changes to plugin API:
- action methods must now be prefixed with "action_"
- getView renamed to view, getResource renamed to resource
- added file function
- improved handling of settings function (don't call it every time the plugins page is loaded, but instead assume that its existence means that the plugin does have settings)