Allows a LanguageFn to be passed around and create multiple languages since Language::new consumes a LanguageFn
LanguageFn just wraps a function pointer, which already conforms to Copy so this is a simple addition.
(cherry picked from commit d60789afdc)