Add a generic function to modify the button assignments

This should support a per-player option in the future.