List modules and instruments as well as samples

The Impulse Tracker sample describer is now the Impulse Tracker
lister, listing modules, instruments and samples.

Squashed commit of the following:

commit 493d4446f10f31df9ad1133c330a2bc3e4ee51d6
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 16:22:49 2014 +0000

    List modules too

    Ditto.

commit af77ff75a0e0cd547670cf3470194426bb8b7519
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 16:09:49 2014 +0000

    List instruments too

    Although not their constituent samples yet...

commit 27b8ee75c2b78ec7412b1218dada2db76675ab0a
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 16:02:54 2014 +0000

    Refactor code slightly

commit 6e0917116ee1dc3b3220deb92cc220e177ab638d
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:56:37 2014 +0000

    Empty commit; note

    Ah, this is indeed working (I'm not sure for how long); I was testing
    it on the wrong directory, not enough subdirectories deep to actually
    contain the .ITS files...  XD

commit 16baba41c08aa3cb7f613bb8a2eef50a49670bdb
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:18:54 2014 +0000

    Optimise code

commit 45a50efacfd3ed2c7cce80057ae88be1f0abf3a1
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:18:07 2014 +0000

    Remove unused line

    That was part of the cat example...

commit 8b3a77c8ea86e6223101beaa9a5b4ed82572cd1e
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:17:46 2014 +0000

    Split out methods

    Although it doesn't work yet...

commit 98bbffc3d6f19bb0e1cecd3a3352f4fdc95080be
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:08:52 2014 +0000

    Rename variables more verbosely

commit 396d1f03df551c12250e388290684b6a387ae914
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:05:49 2014 +0000

    Fix counting character offset

commit 10d0fa8326bcc1422c62fc0d071b6e3c6fbe285b
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 15:03:27 2014 +0000

    Improve file detection

commit e9c36327dc29f07acb3e6a1a35c798e9e9013a8a
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 14:59:41 2014 +0000

    Continue preparing for extending

commit f905671ed32419b9d837c2467756f0abf3733db6
Author: Zoë Blade <zoe@bytenoise.co.uk>
Date:   Wed Jan 8 14:55:14 2014 +0000

    Get ready for featurecreep!
Fix description