Controlling protein assembly on inorganic crystals through designed protein interfaces