Introduce tooltip.position callback function

Added a callback function to control the position of the tooltip programmatically to tooltip configuration.
`circle` element is given if `grouped` option is false and `region` element is given if it's true.

This callback function allows to show tooltip on the top of the data points like this.
<img src=https://cloud.githubusercontent.com/assets/9550/5464609/06a63a34-85ce-11e4-9306-e278ebaff883.png width=240>

with following configuration.
```
        tooltip: {
          grouped: false,
          position: function (data, width, height, element) {
            var chartOffsetX = document.querySelector("#chart").getBoundingClientRect().left;
            var graphOffsetX = document.querySelector("#chart g.c3-axis-y").getBoundingClientRect().right;
            var tooltipWidth = document.getElementById('tooltip').parentNode.clientWidth;
            var x = (parseInt(element.getAttribute('cx')) ) + graphOffsetX - chartOffsetX - Math.floor(tooltipWidth/2);
            var y = element.getAttribute('cy');
            var y = y - height - 14;
            return {top: y, left: x}
          },
          contents: function (d, defaultTitleFormat, defaultValueFormat, color) {
            d = Math.floor(d[0].value)
            return '<div id="tooltip" class="module-triangle-bottom">' + d + ' wows</div>'
          }
        }
```