Generate additional desc_signature node for function templates

We need to render templates on two lines but desc_signature doesn't permit multiple lines. So add two desc_signature nodes for function templates, one for template <...> part and another for the rest.

The idea is similar to that of PR https://github.com/michaeljones/breathe/pull/130, but the implementation is somewhat more complicated because the logic for creating signodes is split between `render()` and `title()`. I tried to minimize changes and not sure if this is the best implementation, so you might need to clean this up a bit.

BTW it might be a good idea to factor out the `template <...>` processing logic into one function because currently there is some duplication in handling function and class templates.

Fixes the third part of issue https://github.com/michaeljones/breathe/issues/127 (https://github.com/michaeljones/breathe/issues/127#issuecomment-58512603)