@app.schedule No longer supports Rate/Cron object expression
A recent commit (afd23d7d729f8383033fe3851bc1de5effd1f22f), added types to the various decorators.  In particular, the `@app.schedule` decorator requires `expression` to be a `str`, which means that it no longer accepts the object type `Rate` or `Cron`.

I used to be able to do this (and the [Chalice documentation shows this example as well](https://aws.github.io/chalice/topics/events.html#scheduled-events))
```python
@app.schedule(Rate(1, unit=Rate.HOURS), name=f"send_call_reminders-{ENV}")
```
Now, I have to add a `to_string()` call as follows:
```python
@app.schedule(Rate(1, unit=Rate.HOURS).to_string(), name=f"send_call_reminders-{ENV}")
```

I'm thinking the type for the `schedule` decorator should probably be `Union[str, ScheduleExpression]`.
diff --git a/chalice/app.py b/chalice/app.py
index 5a477e8..30ef112 100644
--- a/chalice/app.py
+++ b/chalice/app.py
@@ -787,7 +787,8 @@ class DecoratorAPI(object):
             registration_kwargs={'event_pattern': event_pattern}
         )
 
-    def schedule(self, expression: str, name: Optional[str] = None,
+    def schedule(self, expression: Union[str, 'ScheduleExpression'],
+                 name: Optional[str] = None,
                  description: str = '') -> Callable[..., Any]:
         return self._create_registration_function(
             handler_type='schedule',
['chalice/app.py']