Added draw_stem_through_stave render option to TabNote

And another pull request! I added an additional option for tab stem rendering called `draw_stem_through_stave`. Currently, the implementation just draws lines bridging the fret positions and the main stem. However, this sometimes leaves a small artifact from the combined anti-aliasing.

**Examples:**

![image](https://cloud.githubusercontent.com/assets/1631625/2804620/557ae06e-ccac-11e3-960c-df9b5b9b408f.png)
![image](https://cloud.githubusercontent.com/assets/1631625/2804626/5e6b5ca8-ccac-11e3-9a15-c8d59fc4bf09.png)
![image](https://cloud.githubusercontent.com/assets/1631625/2804855/4c531ab2-ccaf-11e3-8002-e9523d9fd169.png)



- Also I refactored `TabNote.draw()` by extracting multiple methods. Later this will have to be refactored further so that a `TabNote` stem's lifecycle starts at `TabNote` construction like my outstanding PR which refactored `StaveNote` stems