[Roles] Remove limitations imposed by base roles when creating custom roles

Problem statement:

When building custom roles, restrictions appear to be imposed when selecting permissions due to the base role selected. Canvas does not seem to provide enough flexibility to build roles that need permissions that come from more than one standard role such as Teacher, Student, TA, etc. This unnecessarily reduces the possible usefulness of Canvas roles. Workflow: In the Admin interface, go to Permissions. Create a new custom course role in Permissions based off the Student role. You are then shown the new role with some core student-related permissions already selected. Attempt to select all teacher-related permissions. Example of potential application of less restrictive permissions: https://community.canvaslms.com/t5/Canvas-Admin-Discussion/Permission-limitations-on-custom-roles-ba...

Proposed solution:

Two possible solutions are: 1. Allow creating a roles without the need to use a base role, or 2. Continue to allow creating a role via a base role, but remove any restrictions on selecting permissions for the new role that come from restrictions that apply to the base role. In other words, any restrictions in selecting permissions for the new role should be based on mutual exclusions when combining permissions rather than on the base role used. Consider user roles as collections of permissions rather than as rigidly defined person types. Moodle takes this approach and provides out-of-the-box standard 'archetype' roles with the flexibility to then either use these as beginning points to build other roles, or create a role that does not begin with a base role: https://docs.moodle.org/402/en/Creating_custom_roles I'd suggest that allowing the ability to create more flexible custom roles doesn't risk diluting the function of standard/base roles: https://community.canvaslms.com/t5/Canvas-Admin-Discussion/Permission-limitations-on-custom-roles-ba...

User role(s):

instructor,student,ta,designer,observer