Fix JSON reader ignoring open fail

D'oh.

The ridefile reader for JSON files spotted when a file failed
to open but then continued to try and parse it!  Now returns NULL
when fopen fails.

This is particularly relevant when using foreign characters in
a filename passed to fopen(). We need to remove the fopen stuff
and replace if QFile reading to a buffer.