This is based on PR #19284 and is part of the series of work related to the proposal #18134. Adds VideoModule.public_view() to enable unenrolled and anonymous users to view the video contents of a public course. When an unenrolled or anonymous user accesses the video content of a public course, the public_view() introduced in the previous PR is used instead of student_view() method.