refactor LySrc and absolute pitch handling into memoized class (issue #31)

This allows clean handling of multiple source files which are lazily
loaded on demand and then cached in memory.

https://github.com/aspiers/ly2video/issues/31