Add support for multiple portals and scale

* Support multiple portals
* Support portal centres that are not the centre of the simulation
* Per-instance support of width/height/scale of simulation