use RTTI instead of number of inputs

Nodes have an expected number of inputs and instead of assuming the connections are valid to base the source vs effector node determination, use RTTI to make that determination.
add tasks for more validate
improve tree construction and render ordering

Further structure is provided to build a tree of branches leading to the trunk which is terminated by the node to evaluate. A branch is a linear list of (dependency) ordered nodes with input and output branches. Input branches additionally have a cost associated to them, indicating the complexity of the branches above, which is very helpful.

Once the tree is constructed, it is then evaluated to construct a list of branches in render order. Unlike the previous naïve attempt, which had a strict input ordering, the ordering now prefers front-loading more costly branches which I *think* will allow us to evaluate arbitrary trees with only 3 FBO attachments. Additionally since the ordering is more flexible, this does not suffer the same out-of-order explosions.
add an amount to the blur shader, currently pegged at 100%
reshuffle tasks