Button: Fix `checked` prop on button's input not always applied correctly

Fixes #14137

This fixes it properly rather than just reverting 4b40ee6.

Example: http://jsbin.com/kudav/1

BTW, the key to reproducing the problem mentioned in #14137 is to search for the point in the button where the cursor is in its default state and by that hovering over the invisible checkbox. Said checkbox can also be clicked and that's what is primarily causing these problems. This was introduced by #12794.

/cc @cvrebert @fat @Kolyunya @pixelchutes