Add unit test for Source

Just a quick thing I added this morning. Although Source is integration tested pretty much everywhere with most of the tests doing `Stream.new(Button.new)` I thought it would be nice to have an isolated unit test for it.

I know you are working on stuff at the moment so just give me a shout if you need me to rebase this.