Renderer uses a float as a key

Instead of using a 64-bit int key with viewport, opaque and depth,
it only uses a 32-bit float with only the depth.
Saves time in:
 - No need to convert the 32-bit float into 24-bit int
 - keys are shorter
Merge pull request #5118 from ricardoquesada/renderer_float_key

Renderer uses a float as a key