ThreeInputFilter bug fix and filter uniform methods

Removing some of the sources in the ThreeInputFilter (specifically the third one I believe) would cause crashes  because the filter would try to render with only 2 inputs because you would only check if the second source is available. I also found all the removed code in newFrameReady to be unclear and the bug fix should be a bit clearer.  From what I could tell when a sources time is indefinite it should persist from frame to frame so the fix uses that to tell what frames are ready. 

There's also a small addition to GPUImageFilter to allow setting 3x3 and 4x4 matrix uniforms.