Slice onions into thick rings. Lay on the griddle on high heat to char on each side. Set aside.
Turn that same griddle down to low/medium. Remove the stems from the the anchos and cascabel peppers and lay them on the hot griddle. Press them with your spatula against the hot griddle to toast them. Don't burn them though (they'll be bitter!) If you see them start to smoke, pull them off. Set them aside.
On the same griddle, toast the almonds - remove, set aside. Then toast the sesame seeds - once they start to brown, pull them off.
Put your oil (or, lard/tallow) in a heavy bottom pot or dutch oven. When it's hot, add the onions, chiles, almonds, sesame seeds, garlic, cinnamon stick, oregano, pepper and clove. Let all of those ingredients fry up for a few minutes. Then add the chicken broth, cover, and let simmer for 30 minutes.
Remove the pot from the heat. Pour into your blender and blend it hard until it's smooth. Pour it through a sieve/strainer back into your rinsed out pot. Add the water, lime juice, honey, sugar, corn flour, chocolate, and salt.
Let simmer an additional 5-10 minutes, until the flavors come together. Add more salt as needed. Jar up and use for topping burritos or tamales, or add meat directly to the pot and braise in the liquid as it cooks.