zink: clear clearer
This series rewrites all the clear handling for the driver in order to:
- batch/defer clears when possible
- perform clears on renderpass begin when possible
- add debug asserts to ensure that renderpass clears are occurring as expected and are properly using the renderpass cache
I only have one remaining clear-related patch in my branch for handling deferred flushes, so this can more or less be considered a "finished product".