Refactoring and general improvements.

GUIContext renders a border around its clip area. TextField rendering
broke into several methods to allow overriding effectively in
SearchField. Renamed NAryTree to PathMap to better reflect its function.