Lyrics scraping code refactored

The lyrics scraping code was belonging to the *Here be dragons* category, that's not the case anymore.

- refactor `scrape_lyrics_from_url` into smaller unit tested functions
- make use of BeautifulSoup strainer to reduce parsing to minimum (20x quicker)
- since all different lyrics websites scraping can be tested well under 1 s, tests have been added to the official suite tests 
This separate compile step doesn't buy us anything—I just collapsing it into a `re.sub` call.