Overhaul ::Spinner.pm

- Removed Exporter
- Use Moo for class behaviour
- Reimplement guts to be more flexible
- Capacity to pass a filehandle to write to instead of STDOUT
- Loads more documentation
Greatly improve ::Spinner docs