add using
Read MGFX v6

Group header variables into a single struct (MGFXHeader).

Move code that reads the header from ReadEffect() into the new method
ReadHeader.

We now have to read the header everytime inside the constructor.
(It seems that MemoryStream that's created from a byte array doesn't
involve memcopy but use the array directly...)