Hooks to manipulate rendering of a portal

- portalsPreRender: fired after the portal data has been received to
allow plugins to manipulate the order of the portal array prior to
calling the renderPortal function.
- renderPortal: fired at the start of the renderPortal function. This
allows for a plugin to not allow a portal to be rendered.
Merge remote-tracking branch 'origin/gh-pages' into gh-pages