Make codegen sort callbacks by name
Introduce callback tables instead of reigister_callbacks()
Cut error logging from do_init()

Instead, add an error check in sampgdk_init_plugin().
Document callback API
Use array API in for callback info storage
Replace callback_add_handler with callback_set_handler

The "add" in the name was somewhat misleading - although it "added"
a handler to the array only the first one is actually called so in fact
there's only one handler associated with each callback.
Use bsearch() for callback lookup