Widget textarea input gets formatted

Try stripslashes to remove the backslash.

echo stripslashes( $text );

This is going to replace one slash per slashes group only though, you should first reset all the contents that have multiple slashes.

I guess the tab at the beginning is due to the fact that you jump a line before echoing the text. Try this instead :

<textarea rows="5" cols="40" id="cat_<?php echo $i ?>_text" name="cat_<?php echo $i ?>_text"><?php echo stripslashes( $text ); ?></textarea>