Add an identifier to TypeParameterDefs and use it to pretty print type parameters

No more 'a and 'b, but rather the names given by the user.