MDL-43721 Assign: Static cache for plugin is_enabled and is_visible because they get used alot
MDL-43721 Assign + groups: Improve performance of assign grading table

Add a function to the groups lib to filter a list of users down
to the ones who can see the module. Required because calling
groups_course_module_visible() for a list of users is too slow
and we shouldn't spread group logic outside of grouplib.php.

Using it in the assign grading table reduces DB queries from 6198/1 to 256/3.

This is 12secs down to 2.5secs.