Move most of the functionality to autoload

Measurements with `--startuptime` showed this plugin load time vary from 94ms to 110ms (although this is an old machine).