Factor out repeated Ref key string generation code.

There are three different ways that we convert a Ref to a string to index into
a table:

- src/core/obj.js:       'R1.0'
- web/viewer.js:         '1 0 R'
- src/core/evaluator.js: '1_0'

These are scattered throughout the code.

This patch factors out the first and second cases into a new function,
Ref.prototype.toString(). The 'R1.0' form from obj.js is used for both.

The patch doesn't change evaluator.js because I couldn't determine if the '1_0'
form has special significance.