Fixes in GPX parser

1. GPX parser is not compatibile with the standard: bounds are optional
and parser breaks if it is not available (test with endomondo.com
workouts fails for this reason).

2. Result of the parser is not of type Gpx.trace defined in the same
file. Two reasons are:
* elevation meters in int and should be float,
* Opa’s XML parser seems to return string where float is found, and
some additional casts are needed,
* type Gpx.location containts fields lat and lon, and result uses
latitude and longitude.