Simplify Read ops. Also fix incorrect completion count.

re: the fix, the previous behavior defined surfaces + 1 number of
completions needed, but this is obviously incorrect because there's both
tags and frames in addition to the surfaces.

So, rather than fiddle with a specific number of completions, just read
all surfaces in a loop and then assign the tags and frames elsewhere.
Might result in the tag and frame reader goroutines blocking for longer
while trying to send their results, but it's not a concern.
Fix incorrect argument order for readVertexFrames.

Was calling readVertexFrames with the frame and vertex counts in the
wrong order. Oddly enough, this results in the correct amount of data
being read, but with a ton of frames and often a very small number of
vertices.
Remove appMode/*Var flags. Just use pointers.

This simplifies a bunch of the code, so I'm happy.
Move spec commands into md3spec.go
Provide paths to models along with the models.

Important for the convert process since it borrows the basename of the
model's path since not all models have names defined in their headers.
Add nil check for doneProcessingModels.

I don't plan on the view process providing this, as it's probably
going to lock the OS thread.