Isolate RNA and operator logic from functions that create strips.
- Operator specific code was removed from SeqLoadInfo structure and SEQ_add_* functions.
- Strip loading code was removed from RNA and operator functions.
- SEQ_add_* API was unified to work on SeqLoadData struct. Only exception is image strip, which require files to be loaded separately to strip creation itself. This is not ideal, but I think it's acceptable.
- Some functions and variables were refactored so the code reads better.
There are minor functional changes (coincidental bugfixes):
- Operator errors are reported per-strip. Previously they were not reported at all?
- new_sound() RNA API function now create sound with length of 1 if source file does not exist. Previously it created strip with length of 0.
- Replace selection operator property wasn't working correctly. Fixed in this patch.