We should probably use `scope.onValue = angular.isDefined(attr.onValue) ? scope.onValue : true`.

This will allow users to set falsy values like 0 for on.  

Also, if someone sets an interpolated thing for onValue (like {{foo}}), the scope.onValue might be undefined right now, but later be interpolated to something.  If we check if the attr is defined, we can know for sure if we need to use a default.