title: Create selectfield options with custom attributes in WTForms
body: <p>I am trying to create a <code>SelectField</code> or <code>SelectMultipleField</code> that allows me to add attributes to it's <code>&lt;option&gt;</code> tags. I am trying to add attributes like <code>data-id</code> or another <code>data-____</code>. I have not been able to figure out how to do this as it only seems possible to add attributes to the <code>&lt;select&gt;</code> tag itself and not the options. 
  <br/>The end result should be something like: </p>
  
  <pre><code>&lt;select id="regularstuff-here" name="regular-name-here"&gt;
    &lt;option value="1" data-id="somedata here" &gt;Some Name here&lt;/option&gt;
    &lt;option value="2" data-id="somedata here" &gt;Some Name here&lt;/option&gt;
  &lt;/select&gt;
  </code></pre>
  
  <p>I assume I have to create a custom widget. If I look at the source for WTForms I see that <code>select</code> widget calls:</p>
  
  <pre><code>html.append(self.render_option(val, label, selected))
  </code></pre>
  
  <p>If I look at that method:</p>
  
  <pre><code>@classmethod
  def render_option(cls, value, label, selected, **kwargs):
      options = dict(kwargs, value=value)
      if selected:
          options['selected'] = True
      return HTMLString('&lt;option %s&gt;%s&lt;/option&gt;' % (html_params(**options), 
               escape(text_type(label))))
  </code></pre>
  
  <p>So it does not seem that you can pass any extra params to the method that renders the <code>option</code> tags.</p>