Implement multiple priority constaints in the scheduler
- Introduce prioritize_loops as a replacement for set_loop_priority
- Kernels now store a frozenset of such priority constraints
- The scheduler builds priority tiers taking all these into account
- Deprecate set_loop_priority