Move picking hit detection code to its own class
Also, implement precise picking for polygon and multi-polygon items.