Made filling aware of fill of children

This fix is somewhat controversial, if you apply a fill to a container, and the children of the container have fills, then the "deepest" fill is kept. However, this breaks the default black that is now applied to shapes because shapes would then not be fillable anymore. So the question is if we want that.
Elements that have no stroke or fill are stroked black
Fixed tests
Merged dev into recursive_fill_fix
Merge remote-tracking branch 'origin/dev' into recursive_fill_fix
Merge pull request #102 from CanvasHS/recursive_fill_fix

Recursive fill fix, changes filling