Return allocated buffer from create_buffer.
Fix build script.

- Allow us to override compiler used.
- Use C11 standard with gnu extensions.