Expose executeHooks() publicly so plugins can add and trigger custom events.

I'd like to be able to call custom hooks from within my plugin. This would give users and other plugins the ability to listen and respond to my plugin-specific behavior.

What I can do alraedy:
I've added `plot.hooks.crosshairSnap = [];` to my plugin's `init()`.

What I can't do (yet):
Call `plot.executeHooks(plot.hooks.crosshairSnap, [axisX]);`.

This pull request adds `executeHooks` as a publicly-accessible method on `plot`.