Change 'byte *memory' to type 'void *'

The thought process probably was "we better make it actually worth something, or the compiler will asplode!".  We have a datatype for straight pointers: void *.  It's silly to assign an arbitrary data-type and size (in this case byte = char) to this when (void *) works just as well.

On that note, why the hell does this assignment make us use pointer _offsets_.  Raw pointers would be so much neater.  This course encourages bad design :P