Completely overhauled how the avembed directive and showhide functionality works

  - Cleaned up and standardized the HTML being generated

  - Shifted functionality in odsaMOD.js so that all embedded pages are loaded after the module page has finished loading which makes the module page load faster and makes embedded pages available immediately when a user clicks the showhide button, also allowed the showhide function to be simplified significantly

  - Made adjustments to the inlineav and showhidecontent directives to work with the new system

Removed stubbed functionality from odsaAV.js designed to allow it to operate independently of odsaUtils.js (for maintainability reasons). odsaUtils.js MUST now be included on any pages that include odsaAV.js (may affect users running AVs in standalone mode)

Overhauled how user session information is stored in localStorage in an attempt to make it more robust

  - Rather than a single 'session' key storing a JSON object, there are now separate key-value pairs for username, session_key, and session_expires

Fixed a bug where the Login link wasn't being initialized on page load

Added translation for "Module Complete"

Commented out some spacers at the end of the Khan Academy site template for a cleaner look

Updated and improved comments
Resolved merge conflict