Better shader identifier renaming
Instead of hard-coding the shader identifier namespace, we can always use 0 and keep track of all the offsets that contain this namespace, so that when merging shaders we can just alpha rename them directly.
This would be a minor reduction in hypothetical cache misses, and a simplification of the API. In general it makes our job easier and requires users of the shader API to no longer worry about namespace conflicts.