Implementation of the cryptomatte render passes in EEVEE. Implementation follow design in {T81058}
and is compatible with the implementation in Cycles.
# Current state
{F9049876}
**Hair (Particle + Object)**
{F9133001}
**Asset Layer**
{F9133615}
# TODO
* [x] Add support material layer
* [x] Add support asset layer
* [x] Add support for hair geometry
* [] Add support for background. (currently shows hard borders as background isn't counted as a sample.)
* [x] Seems to only use dead center pixels.
* [x] Calculate the correct coverage. (divide the coverage by the total number of samples used to construct the pixel.)
* [x] Add accurate/inaccurate mode
* [x] Sort samples based on coverage
* [] Store hashes + Object names in the render result header
* [] Fix issue when with larger buffers. At this point stripes will appear.
## Test
* [] Test for memory mis-use
* [] Add render tests
## Cleanups
* [] Documentation
* [] Document Datastructure, it is now a flat buffer