Use a less hacky way of setting max length.

This avoids relying on method overloading to get the right StringPropertyBinder
subclass, and will work even if bind is called with a Property<String> argument.