Chris - Okay, so you have experience of how to program microcontrollers. I think that is enough to make this work.
You will likely need to read the RM0008 manual to understand and use all the features of the timers you need.
You might want to start by reading the libmaple code for the timers. Quite a lot of ideas are demonstrated in that code, and you can use some of it without change (e.g. setting pinMode, prescaler and reload values).
Would I be able to actually count individual pulses though?
What needs to be counted, and what is it you need to measure?
Every timer can operate in several modes.
An external signal can be used to drive the timers counter, so that can count pulses.
Or, an external signal can be used to trigger a copying of the timers counter, so that can time an external pulse.
For example I need to pulse the LCD 10 times with vSync low to reset the scan position. However to write a line I need to pulse the LCD 41 times with hSync high.
I'm not sure what rate is being used for the pulse, is it the 9MHz?
A common way to generate a fixed number of pulses is to use a short interrupt service routine which gets called every pulse. It counts down the number of pulses, subtracting one each time, until it reaches zero, when it triggers the code to carry out the final action. In this case, that might be nothing at all; let the main loop() code wait on the pulse count to reach zero, then it goes ahead and does whatever is necessary. The nice thing about this approach is it is very simple. The bad thing is it is too slow if you want to count 9MHz pulses. It is good enough for something around a Mhz or slower (it takes about 24 cycles to enter and return from an interrupt routine).
Timers can be 'chained' so the output of one timer (say generating a 9Mhz square wave) can be fed directly (inside the chip) into another timer to drive the 'slave' timer's counter.
Have a look at RM0008 section 15.3.15 "Timer synchronization"
So the second 'chained' timer would count at 9MHz, and a channel's compare value would be the number of pulses to count, in your example 10 or 41. I haven't thought enough about this, but the timers can operate in 'one shot' modes as well as 'continuous' modes, so you might be able to use the channel's output pin to drive the LCD signal directly.
I would be tempted to set up two extra timers, one to generate the Vsync, and the other the Hsync.
(Full disclosure: I am not a member of LeafLabs staff.)