Enemy knockback

Closes #1800

The functionality is super basic right now, but there's enough here to give you the basic idea.

To do before merging:
- [ ] Finalize knockback values
- [ ] Add animation, rather than immediate position switching.
- [ ] Incorporate an exception for bosses and static enemies