BandCamp discovery

Originally this was done just to solve #483 and I've hooked it up to work on the main [discovery page][0]. 

Other stuff that has also gone is include:

- Tidied up state reference to determine "what" page/type of page the scrobbler is on
- Bound audio pause event to trigger reset  (@david-sabata  is this the correct thing to do???)

Examples of the various "types" of pages if you aren't familiar with BC

- [Album][1]
- [Compilation Album][3]
- [Track][2]
- [Discovery][0]

__Note:__ the only thing that doesn't work correctly is scrobbling a compilation track. This is wrong in previous versions though and never was solved. Other then just checking for a dash in the title which doesn't feel right IMO.

~~__Note 2:__ Also I noticed that if the track is playing and you reload the page it doesn't continue until you stop the player and reload. It's being bound on `DOMSubtreeModified` for the `audio` tag which is the reason why I guess. Hold off on this until I fix that!~~

[0]:  https://bandcamp.com/discover
[1]: https://metamatics.bandcamp.com/album/instamatic
[2]: https://metamatics.bandcamp.com/track/neon-future-blue
[3]: https://noredseas.bandcamp.com/album/no-dead-seas-no-red-seas-vol-ii
@inverse I think this is totally fine