Places panel: Internal cleanup
Move the bookmark handling into a custom model, so that the PlacesPanel only contains UI + controller code.