Node buttons/options are conventionally drawn between outputs and
inputs. With custom node layouts this is not so clear any more since
inputs and outputs can be mixed.
This patch simply draws buttons right before the first input, or at the
bottom if a node does not have input sockets. This ensures a layout
compatible with standard node drawing and does not require extra work.
Eventually an explicit declaration method could place buttons explicitly
but for now this yields a useful default behavior.