title: on_delete='CASCADE' seems to have no effect
body: <p>I have a many-to-many relationship between two models, <code>User</code> and <code>Role</code>, implemented via an intermediary table, <code>UserRoleThrough</code>, which has two <code>ForeignKeyField</code>s: one referencing <code>User</code>, and another referencing <code>Role</code>. As I understand from the docs, <a href="https://sqlite.org/foreignkeys.html#fk_actions" rel="noreferrer">ON DELETE</a> functionality is supported by initializing <code>ForeignKeyField</code> with an <code>on_delete</code> argument. Though it's not very clear what values <code>on_delete</code> can take, the <a href="http://docs.peewee-orm.com/en/latest/peewee/api.html#ForeignKeyField" rel="noreferrer">documentation</a> gives an example, e.g. <code>'CASCADE'</code>. This being said, <code>on_delete='CASCADE'</code> seems to have no effect, as attempting to delete a row from one of the parent tables throws an error.</p>
  
  <pre><code>peewee.IntegrityError: FOREIGN KEY constraint failed
  </code></pre>
  
  <p>Inspecting the generated schema with a database browser reveals that the foreign keys were not declared with ON DELETE.</p>
  
  <pre><code>CREATE TABLE "userrolethrough" (
      "id" INTEGER NOT NULL PRIMARY KEY,
      "user_id" INTEGER NOT NULL,
      "role_id" INTEGER NOT NULL,
       FOREIGN KEY ("user_id") REFERENCES "user" ("id"),
       FOREIGN KEY ("role_id") REFERENCES "role" ("id")
  )
  </code></pre>
  
  <p>So what I'm doing wrong here? How do I get <code>on_delete</code> to work? Here's a minimal reproducible example using Python 3.6 and Peewee 3.0.2.</p>
  
  <pre><code>import peewee
  
  db_proxy = peewee.Proxy()
  
  class BaseModel(peewee.Model):
      class Meta:
          database = db_proxy
  
  class User(BaseModel):
      name = peewee.CharField()
  
  class Role(BaseModel):
      name = peewee.CharField()
  
  class UserRoleThrough(BaseModel):
      user = peewee.ForeignKeyField(User, on_delete='CASCADE')
      role = peewee.ForeignKeyField(Role, on_delete='CASCADE')
  
  
  if __name__ == '__main__':
      db = peewee.SqliteDatabase('test.db')
      db.pragma('foreign_keys', 1, permanent=True)
      db_proxy.initialize(db)
  
      tables = [
          User,
          Role,
          UserRoleThrough
      ]
      db.create_tables(tables)
  
      isaac = User.create(name='Isaac')
      admin = Role.create(name='Admin')
      UserRoleThrough.create(user=isaac, role=admin)
      User.delete().execute()
  </code></pre>