Updates selection/deselection logic to fall back on text when using ko.

Hi. When using options bindings in knockout, one can use an entire object as the selected value. However, this renders the original select element without value attributes. This change achieves parity with ko's bindings by comparing text attributes instead of  value attributes when knockout is present and the value is blank,