Add kernel extension, tests and gemspec