Track time for scene rendering
Since we discard on every render call anyway, can just use one dynamic model constant buffer.
Track loading time
Load materials once, not once per model.

Load time 9.29s -> 4.54s
AssetLibrary FindAsset: Compare hashes before we compare strings

Load time 4.54s -> 4.40s
AssetLibrary FindAsset: Only resolve absolute path when necessary.

Load time 4.40s -> 4.32s
LoadFile rewrite to do less string allocs (from dev branch)

Load time 4.32s -> 2.83s
More config reading fixes from dev branch

Load time 2.83s -> 2.74s
ConfigBlock: Use wtof instead of swscanf_s to convert string->float.

Load time: 2.74s -> 2.54s
Make input layout cache stop using strings (from dev branch)

Load time: 2.54s -> 2.03s
ConfigBlock GetValueByName: Get rid of temp string for key compare

Load time: 2.03s -> 1.95s
CPUT ptoc: Get rid of temporary allocs

Load time: 1.95s -> 1.88s
AABBoxRasterizer: Need to alloc "visible" space for all packets
Asset library: Share materials instead of copying them

NOTE this is not necessarily safe! It's just intended as an illustration.

Load time: 1.88s -> 1.46s
Render scene med. time: 2.56ms -> 1.95ms
DepthBufferRasterizerSSEMT: Allocate mpNumTrisInBin cache line aligned
TransformedAABBoxSSE::IsTooSmall - only need to compute w.
TransformedAABBoxSSE keep (unaligned) world matrix inline
AABBoxRasterizer keep list of models instead of traversing all assets every frame