Addresses #1976 by implementing click->hold to rename for the project tr...

...ee.

This only implements hold->rename for the project tree. In digging into the working set it seems like it's a bit of an edge case because the inlineRename doesn't touch the working set, it just jumps to that file in the project tree and invokes the inline rename there.

I felt like this was the more common case. It may not close the bug altogether, but at least it's a start.
I wonder if 0 is a possible value for a timeout ID. Doesn't seem super likely that you would get that even if it were possible, but seems safer here to explicitly check `_mouseupTimeoutId !== null`.