TNL-213: Student Notes

**Description**
Adds the ability to make highlights and notes in courseware (only in html components at the moment) and to refer back to later.
[Student Notes](https://openedx.atlassian.net/wiki/display/TNL/Student+Notes)
[Student Notes Testing](https://openedx.atlassian.net/wiki/display/TNL/Student+Notes+Testing)
**sandbox**: http://polesye.m.sandbox.edx.org/

* Platform team review of the XBlock wrapper implementation. XBlock Asides is in the process of merging and we'd planned earlier to use this feature for notes when ready. The scope of the review would be to ensure that the overall implementation from XBlock perspective is still aligned with that goal, and to identify any other concerns related to current/future work on XBlock APIs.
@dmitchell please review

* TNL overall review - this would be simply to socialize the new functionality and provide an opportunity to identify any conflicts or major questions - NOT a detailed line-for-line review.
@jimabramson , @andy-armstrong , @cahrens, @srpearce please review.

**TBD:**
* Ensure Harvard Annotations and Student Notes can't be turned on at the same time [TNL-930](https://openedx.atlassian.net/browse/TNL-930) #6340
* Eventing for Student Notes [TNL-931](https://openedx.atlassian.net/browse/TNL-931) #6358 
* Highlight the searched-for text [TNL-973](https://openedx.atlassian.net/browse/TNL-973)
* [UI/UX improvements](https://openedx.atlassian.net/secure/RapidBoard.jspa?rapidView=27&view=planning&quickFilter=255&epics=visible&selectedEpic=UX-955).

@olmar , @tymofij , @jmclaus  FYI.
> Will an end user/student see this error message? If so, I'd change it to indicate what "save your state" means - for example, "We can't currently save your note. Make sure that you are connected to the Internet, and then try refreshing the page."

Yes, it'll. This functionality is responsible for toggling visibility of the notes (https://openedx.atlassian.net/browse/TNL-661). It is not about note saving.