So after adding a few more features, physics in particular, I decided the engine was getting to hacky and needed to be reorganized into a better structure. I have decided to do away with sprite trees (sprites with children) because I want this to be primarily a physics based engine and it would have been way to complex to keep that feature. Since doing away with sprite trees greatly simplifies pretty much everything about the engine I will have a lot more time to focus on more important stuff like scripting.
As part of the reorganization I have decided to add a Layer class to hold the static foreground and background art. This will allow users to easily add a parallax effect to there levels.
Another feature that I'm adding is dual rendering capabilities. Some items in the game might not want to be lit by SunBurn. So you can simply set a flag per sprite to allow that sprite to be rendered with SpriteBatch. Other then the setting the flag this should be seamless to the user.