fillBytes uses 'memset' to fill a memory area with a required byte value.
- moved the change to Foreign.Marshal.Utils
- fixed the import location (string.h instead of stdlib.h)
- fixed the import types (Word8 -> Int instead of previous CInt -> CSize), types were used in accordance with copyBytes interface
- comment was improved as per @duncan's advise
(all the reviewers from #D461 are preserved)