Model.drop_table disregards Database.drop_cascade
Attempting to drop a table in Sqlite DB with **cascade=True** fails even if `Database.drop_cascade=False` with:

> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File ".../peewee.py", line 5000, in drop_table
>     cls._meta.database.drop_table(cls, fail_silently, cascade)
>   File ".../site-packages/peewee.py", line 3870, in drop_table
>     model_class, fail_silently, cascade))
>   File ".../site-packages/peewee.py", line 3755, in execute_sql
>     self.commit()
>   File ".../site-packages/peewee.py", line 3578, in __exit__
>     reraise(new_type, new_type(*exc_args), traceback)
>   File ".../site-packages/peewee.py", line 135, in reraise
>     raise value.with_traceback(tb)
>   File ".../site-packages/peewee.py", line 3748, in execute_sql
>     cursor.execute(sql, params or ())
> **peewee.OperationalError: near "CASCADE": syntax error**
> **near "CASCADE": syntax error**
> 

The SQL get built (`DROP TABLE "foo" CASCADE`) without taking in account if DB supports DROP CASCADE  (`Database.drop_cascade`): https://github.com/coleifer/peewee/blob/master/peewee.py#L2187 
While the test (`TestDropTableCascade`) does get skipped for the case when DB doesn't support DROP CASCADE.

Perhaps it should be handled a bit more gracefully, either 1) with more specific exception or 2) implementing cascaded dropping for the dependant tables.

### Test code:

```python
from peewee import Model, TextField, ForeignKeyField
from peewee import drop_model_tables, SqliteDatabase

db = SqliteDatabase(":memory:")

class Foo(Model):
    foo = TextField()

    class Meta:
        database = db

Foo.create_table()
Foo.drop_table(cascade=True)

```