Engine: reworked script file handles

Script file handles should not be zero-based, because old FileOpen function returned null pointer as an indication of error, and older games could test handle against 0 to know when this function has failed.