MDL-47046 gradereport_grader: Update JS to meet coding style guidelines

This also moves the code into a set of separate files to allow for
additional components of the report to be migrated to the same YUI module,
adjusts some UI components, improves JS performance, and adds appropriate
documentation.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46774 gradereport_grader: Move row/column highlight code to YUI module

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46731 gradereport_grader: Move tooltips to YUI module

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46663 gradereport_grader: Remove old scrollview code

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46663 gradereport_grader: Remove fixed column support

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46951 gradereport_grader: Removing broken spinner logic

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46951 gradereport_grader: Compatibility with base themes

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46951 gradereport_grader: Disable floating behaviour when table is empty

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46951 gradereport_grader: Handling of user cells when resizing

For some reason, the max-width/min-width/width of the table cell containing
the name of the users did not work, leading to very large columns but a very
narrow floating one. Handling the size of those columsn upon resize was
also necessary after with this fix.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46951 gradereport_grader: Giving some love to IE

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46962 gradereport_grader: Correct positioning when using RTL languages

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46950 gradereport_grader: Consolidate styling of the elements

The grader table has been made entirely standalone from core or
theme styling. The floating divs have to share the exact same
rules, and so it was a lot easier and more maintainable to just
style them both using the same selectors, entirely ignoring the
table default styles.

And because the selectors are unique for both the floating elements
and the table cells, a themer can easily re-use them to style both,
without having to dig around to find all the selectors to overwrite.

Working on this highlighted some issues with the positioning. Those
have been fixed within the same patch. And even though it is still
not 100% correct on IE, the result is pretty decent.

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46950 gradereport_grader: Prettier styling for base and clean

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-46988 gradereport_grader: Fix styling issues for RTL

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-47027 gradereport_grader: Styling when editing is turned on

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.
MDL-47027 gradereport_grader: Removed floating save changes button

This issue is a part of the MDL-46658 Task.
This issue is a part of the MDL-25544 Epic.