NMEA messages from GPS module already contain the heading and speed. The GPS module calculates these parameters from successive position measurements. The positioning accuracy is a couple of meters but the difference between two position measurement has only a little error (couple of cm) so the speed and heading is decently accurate. Heading is more accurate with higher speed.
For an integrated GPS/3xGyro/Accelero module I would recommend to look at: