It is not currently possible to add icons into a button. While they can be placed on top of the button to simulate it, styles applied to the button will have not apply to the icon. There are plans to add this feature for a future release, but there is no a current ETA when this would be added.
To make the icon change color, you will need to simulate it changing since On Hover does not apply styles to other components.
You would want two icons in the same position (both in the container), each with their own fill color. You would then have it so they would become hidden/visible depending on if the state was on or off. Once you have that wired up, just set the On Hover for the container to trigger the state value change. When the user hovers over the container, they will see the second icon and see that the colors have changed.
If you have any questions, please let us know.