Non boolean values are accepted and they break UI

The boolean input component should only ever have the value of `true` or `false`. This means type-checking on value set, and changing the default from `null` to `false`.
This test should probably assert that the value is `false` when the it is never set to anything.