When creating a dynamic object at runtime declaring `synchronized/1` predicates, only create the implied mutexes if the backend Prolog compiler does support a compatible multi-threading implementation