title: MongoEngine ListField within a EmbeddedDocument throws TypeError on validation
body: <p>I am not sure if it is a bug within MongoEngine or if I miss something.
  I have the following Models set up:</p>
  
  <pre><code>class Features(EmbeddedDocument):
      version = FloatField()
      data = ListField(StringField)
  
  class Article(Document):
      vendor = ReferenceField(Vendor)
      url = URLField()
      author = StringField()
      clean_content = StringField()
      features = EmbeddedDocumentField(Features)
  </code></pre>
  
  <p>When I test my models like this:</p>
  
  <pre><code>#add vendor
  vendor = Vendor(name="techcrunch", config="vendor config")
  vendor.save()
  
  #create features
  features = Features(version = 1.0)
  features.data = ["5", "89"]
  
  #add article
  article = Article(vendor = vendor, url ="http://www.techcrunch.com", 
                    author ="MG Siegler", clean_content = "Apple rocks!")
  article.features = features
  article.save()
  </code></pre>
  
  <p>I get the following error:</p>
  
  <pre><code>TypeError: unbound method _validate() must be called with StringField instance as first argument (got str instance instead)
  </code></pre>
  
  <p>Can someone explain that?</p>
  
  <p>EDIT:</p>
  
  <p>Nevermind. I found my error.</p>
  
  <p>It has to be:</p>
  
  <pre><code>class Features(EmbeddedDocument):
      version = FloatField()
      data = ListField(StringField())
  </code></pre>