This switches from using m_NumRegions to a vector of region IDs because there is actually no guarantee that our regions occupy the n lowest IDs (and in fact it's quite likely they don't).
This might actually mean that D1830 crashes on svn because I'm switching to .at() instead of []
See inline comment for a currently silently buggy use.
(D53 outtake)