/// <summary>
        /// Parses a block of HTML/text using supplied Providers (defaults to all)
        /// </summary>
        /// <param name="input"></param>
        /// <param name="maxwidth"></param>
        /// <param name="maxheight"></param>
        /// <returns></returns>
        public string Parse(string input, int maxwidth, int maxheight)
        {
            string output = input;

            foreach (Type t in Providers)
            {
                BaseProvider provider = ((BaseProvider)Activator.CreateInstance(t));
                if (provider.Supported)
                {
                    provider.MaxWidth  = maxwidth;
                    provider.MaxHeight = maxheight;
                    output             = provider.Process(output);
                }
            }
            return(output);
        }