Split up the extension hooks docs, and modernize them.

Now that we have a lot more extension hooks, it's time to split up the
docs. The existing page was getting too big and hard to maintain,
especially as we go into more details on hooks.

Each hook now has its own page (with the exception of the ActionHooks,
which have one page for all three hooks, which are all basically the
same).

Some of the content was tweaked just a bit. Some formatting errors were
corrected. The extension examples were fleshed out to include imports
and the new initialize() method. The Template Hook docs now have the
rest of the template hook names. Small things like that. Otherwise, the
content is basically the same.