Store moves as object with x, y, pass attributes.

This facilitates better object comparisons and stops firebase from doing
unpredictable array handling stuff with keys of 0 and 1.