make portal-names work however many portals are on screen, by using buckets to group portals for more efficient overlap testing