Began implementing a message system. Big improve to map

The MapManager and MapListener is a lot friendlier to the Update()
function. It only hits it when there is definitely going to be a
difference.