1. RTreeNode bounds calculation now always uses the detailed geometry of
district edge nodes to calculate their bounds. This fixes picking to
work in cases where the detailed geometry falls much outside of the
spanning rectangle of the edge's end vertices.
2. Introduced DistrictSelectionNode that tells G2DParentNode to ignore
its bounds instead of nullifying them entirely. This caused the edge
nodes to fall outside the R-tree as "boundless nodes" which caused
the most optimized R-tree based picking to fail entirely for nodes
that are selected when RTreeNode.decompose is executed.