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://edxnotes.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.
It seems like a lot of the methods in this class should be moved to common because they would be useful in both LMS and Studio.