What is the difference between GPS, GNSS and RNAV?
As stated in the othe answers, 


GPS is the US Global Positioning System
GNSS is an umbrella term that encompasses GPS as well as other nations' satellite systems that achieve essentially the same capability


RNAV is the aircraft capability that allows you to navigate from point to point, defined by Latitude/Longitude and independent of any ground-based system.  There are various ways that the hardware in the aircraft maintains its position.  It may use GPS sensors, it may use GLONASS, it may uses a combination of satellite systems, it may use DME/DME updates from ground-based navaids.  But the point of RNAV is that for the most part the procedures are agnostic with regard to how the position info is obtained.

Thus, you can have RNAV routes and approaches, meaning that the airway or approach segments are defined by Lat/Lon waypoints, and as long as your system meets defined accuracy tolerances (usually 1.0 NM enroute and 0.3 NM for an approach in the US), you can fly that airway or approach.  There are more stringent tolerances incorporated into RNAV(RNP) approaches, and these require that the system can monitor its accuracy and alert the pilot if the system isn't confident that its position is accurate to within a specified performance.  This can be set to match whatever is required on the approach; 0.1 NM is common, although there are other values that can be specified.

In the US, the FAA typically distinguishes basic RNAV approaches by designating them RNAV(GPS) in the title, as opposed to RNAV(RNP).  (The RNAV(RNP) approaches require a couple of additional things beyond basic RNAV, but those are beyond the scope of this question.)  Internationally, "RNAV(GNSS)" is often used instead of "RNAV(GPS)" in the approach title, but functionally they're pretty well the same thing -- it's simply a nod internationally to the fact that if your FMC knows where it is, the approach designer doesn't care which satellite system it's getting its position data from.

In the "old days", it was possible to have RNAV operations that worked by taking radial/DME data from a single VOR and creating a pseudo-VOR essentially whereever you wanted, and the HSI or other display would act as if the VOR were in the new location.  This was very early RNAV capability, in that it allowed you to fly a straight line course by keeping the HSI centered rather than flying VOR to VOR.  These days, that capability is pretty much gone, in favor of the much greater capability of GPS.