I've added a new version of the program in the original post. I've listed the changes there but I'll add them here too...
1) You can now add shading to individual trees. The Vaniyan brushset has been updated to represent this.
2) There is an option to remove badly placed trees. This is a work in progress and needs tinkering with. On tightly packed forests this will remove lots of trees with just small jitters added. This is because those forests are so close they are inherently badly placed. It's less drastic on forests that have a lower density.
3) Changed the way that mirror trees work. It doesn't move the shading, just the tree brush. You can also randomly mirror trees to get more variation in a forest.
4) Added the ability to have the other side of the tree shaded. This works in conjunction with the mirroring.
5) Added the ability to move the lightsource to the opposite side. This moves shadows and shading accordingly. Shadows utilise the normal shadow brush but shading requires two brushes for it to work properly.
6) Other small, under-the-hood changes that will barely be noticable.
I've also edited the second post into a tutorial on how to make your own brushes for the program. I intend to add an example image later. I'll also add a tutorial on how to use the program at a later date.
Edit: Gah! I just tested something and realised that I have inadvertently broken the "Remove Misplaced Trees" function. Not sure if it will screw up every time but for now it's safest just to leave it alone. I'll fix it for the next version.
Ah well... here's an image of the updated Vaniyan brushset... No jitters were used on this so it's quite uniform. Also, if you study it you should be able to see that some of those trees are mirrored. The lightsource has also been shifted.