Fixed bug with attack (read further):
- The attack sprite would show up at its last position for one frame
  before updating its position to the correct one. This has been fixed
- I have made the swing slightly broader to compensate for this change and
  added 2 new private methods to attack, them being __prepare() and
  __swing()