Silence unused function warnings

Any difference ideas other than defining them in their own object file?

```
make
compiling ../../../../ext/charlock_holmes/converter.c
In file included from ../../../../ext/charlock_holmes/converter.c:2:
../../../../ext/charlock_holmes/common.h:23:14: warning: unused function 'charlock_new_str' [-Wunused-function]
static VALUE charlock_new_str(const char *str, size_t len)
             ^
../../../../ext/charlock_holmes/common.h:32:14: warning: unused function 'charlock_new_str2' [-Wunused-function]
static VALUE charlock_new_str2(const char *str)
             ^
2 warnings generated.
compiling ../../../../ext/charlock_holmes/encoding_detector.c
In file included from ../../../../ext/charlock_holmes/encoding_detector.c:2:
../../../../ext/charlock_holmes/common.h:14:14: warning: unused function 'charlock_new_enc_str' [-Wunused-function]
static VALUE charlock_new_enc_str(const char *str, size_t len, void *encoding)
             ^
1 warning generated.
compiling ../../../../ext/charlock_holmes/ext.c
In file included from ../../../../ext/charlock_holmes/ext.c:1:
../../../../ext/charlock_holmes/common.h:14:14: warning: unused function 'charlock_new_enc_str' [-Wunused-function]
static VALUE charlock_new_enc_str(const char *str, size_t len, void *encoding)
             ^
../../../../ext/charlock_holmes/common.h:23:14: warning: unused function 'charlock_new_str' [-Wunused-function]
static VALUE charlock_new_str(const char *str, size_t len)
             ^
../../../../ext/charlock_holmes/common.h:32:14: warning: unused function 'charlock_new_str2' [-Wunused-function]
static VALUE charlock_new_str2(const char *str)
             ^
3 warnings generated.
```