Shape up the viewport and fix picking by removing the assumption that the world coords and map grid coords are 1-1.