py312 doesn't have imp

Index: src/binwalk/core/module.py
--- src/binwalk/core/module.py.orig
+++ src/binwalk/core/module.py
@@ -704,14 +704,16 @@ class Modules(object):
                 modules[module] = module.PRIORITY
 
         # user-defined modules
-        import imp
+        import importlib.util
         user_modules = binwalk.core.settings.Settings().user.modules
         for file_name in os.listdir(user_modules):
             if not file_name.endswith('.py'):
                 continue
             module_name = file_name[:-3]
             try:
-                user_module = imp.load_source(module_name, os.path.join(user_modules, file_name))
+                spec = importlib.util.spec_from_file_location(module_name, os.path.join(user_modules, file_name))
+                user_module = importlib.util.module_from_spec(spec)
+                spec.loader.exec_module(user_module)
             except KeyboardInterrupt as e:
                 raise e
             except Exception as e:
