Introduce new buffer size syntax in InvokeNative*

Previously array/string buffer size was deduced from an argument
following it, now the size can be anywhere as long as you specify
the index, or it can be totally fixed, in which case no additional
parameter is needed.

Fixes #85.