Use required edge ID attribute when parsing GEXF

Both the [1.1draft](http://gexf.net/1.1draft/data.xsd) and [1.2draft](http://gexf.net/1.2draft/data.xsd) schema definitions for GEXF define the `id` attribute of an `edge` element as required. This is what should be used instead of an incrementing ID, for consistency with `pushGraph`, which uses the `id` property of each edge object.

Otherwise, if `pushGraph` is used to push in a graph which contains edges previously added after parsing a GEXF file, duplicate edges will be drawn, as the IDs don't match.