Другое голосование за IronPython. Встраивание его просто, взаимодействие с.Net классами просто, и, ну, в общем, это - Python.
Лучший способ проверить наличие определенной функции - это на самом деле проверить на наличие этой функции на элементе, который, как вы знаете, должен ее поддерживать, например:
if(element.contentEditable != null)
// then it's supported
или
if(typeof(element.contentEditable) != 'undefined')
// same thing.. but with typeof you can be more specific about the type of property you need to find
var canEditContent= 'contentEditable' in document.body;