Implements word wrap for function signatures

Fix for #3610 by implementing word wrap for function signatures (or any other long single item hint list).

I spoke with @njx about his thoughts on this and he suggested that we use JavaScript to figure out appropriate width and positioning for the code hint box. The CodeHintList was already computing the left and top of the code hint list box, so I added the width in there.

When the box is to the extreme right, it is still pretty small. We could have moved it farther left in those cases, but I think it would be too far away from the actual code hint site if we do that.

Right now, the box is constrained by a `max-width` CSS property (currently 400px). I didn't change that setting, because I think it's more pleasant to wrap at 400px than to make the box wider still. I'm open to other opinions on it.