[CLC-2098] Fixing classes/courses logic in the backend, simplifying front-end widget logic
[CLC-2098] Handle the non-official courses
[CLC-2098] Fix group logic for canvas groups attached canvas classes