GPUImageTwoInputFilter newFrameReadyAtTime can't always pass on frame time from the first input

Sometimes the first input will be a GPUImagePicture with a frameTime of CMTimeIndefinite. I have added a check to see whether the firstFrameTime is indefinite, in which case the secondFrameTime is used.

The behaviour will be the same as before, unless the first input is a GPUImagePicture then the time will be used from the second input. Because the frameTime will always be indefinite it will always use the second frame time and therefore will be stable.