Adds functionality for custom translations without building them from JSON
some internal refactoring
make the decoder fail when it encounters just a string not an object of translations(should not break anything, because the t function would've failed anyway before)
closes #21
t
function would've failed anyway before)