Fix checkbox handling without values

The input.value field's value is implementation dependent when no attribute is
specified. Android returns '' when unchecked and 'on' when checked. Others
appear to always return 'on'.

Rather than deal with all of this, use the attribute value or failover to a
boolean literal.