Refactor Song, NoteFactory now singleton

Remove Difficulty in Song since Difficulty is tied to a sheet and not
Song itself.
Switched from a List<Instrument> to a List<Tuple<Instrument,
Difficulty>> so as to link ".sheet" files to a Song.
NoteFactory is now a singleton and is only instantiated once, not with
every SheetBuilder.
Slightly simplify BuildSheet code.