That's really cool! The only other optimization that I wanted to try and do was to use GPU acceleration to support huge numbers of shapes and entities. Something similar to what's described here [0]. I think it would really help for very very large numbers of entities or large complex geometry.
[0] - https://devblogs.nvidia.com/thinking-parallel-part-i-collisi...