Uses backtracking search to find an ACSetTransformation from pattern
to target. Returns NULL if no homomorphism exists.
Examples
e <- path_graph(2) # single edge: 1 -> 2
tri <- cycle_graph(3) # triangle: 1 -> 2 -> 3 -> 1
h <- find_homomorphism(e, tri)
is_natural(h) # TRUE
#> [1] TRUE