Updated modal module.

Refactored modal code, and did some groundwork for eventual AJAX loading option via PJAX:

The big changes:
 - Modal container is now created on demand. Only `.cached-modal` div exists in code now, and modal container is generated dynamically.
 - Modal may link to an alternative `href` for non-JS users by specifying modal div in `data-cached-modal` attribute. This will eventually lead the way for spiffy PJAX/pushState integration.
 - Modals can be opened from within other modals now! The contents of the new modal will replace the contents of the current modal.

:mobile_phone_off: