Optimize memory.virtual_to_physical() with software TLB

Speed up address translation using a simple cache at page granularity.