Ensure that LocationManger is created on main queue

Here’s a warning from CoreLocation I’ve found in system.log:

CoreLocation: A location manager (0x10010e810) was created on a
dispatch queue executing on a thread other than the main thread.  It is
the developer's responsibility to ensure that there is a run loop
running on the thread on which the location manager object is
allocated.  In particular, creating location managers in arbitrary
dispatch queues (not attached to the main queue) is not supported and
will result in callbacks not being received.