ggplot: legend: title

This PR is for showing legend **titles** when the legend in not broken for the geom; not for modifying its attributes, like colour.

Summary:
- Retrieve legend title from column name of legend elements in `p$data`; and,
- Create legend title as an annotation, with position `x` and `y` dependent on legend.

Example (to be judged on full-size graph):
Before: https://plot.ly/~pdespouy/2098/posttest-vs-pretest/
After: https://plot.ly/~pdespouy/2099/posttest-vs-pretest/

Image diffs can be seen here: 3c9d75b (PNG rendering is not good, since it should be seen in full-size)

cc/ @mkcor 
You might actually want to do "100" or higher - inside the plot it is [0, 1], but the margin the position is equal to 100: https://plot.ly/r/legend/#Positioning-the-Legend-Outside-the-Plot