Alternatives to DISALLOW_FILE_EDIT wp-config Constant? It Breaks Some Plugins

I guess this would be of better use as a mu-plugin.

EDIT: Now available as drop & play MU-Plugin. Also disables the »Theme« editor.

<?php
! defined( 'ABSPATH' ) AND exit;
/** Plugin Name: Disable »Theme/Plugin Editor« */


if ( ! class_exists( 'disable_admin_editor' ) )
{
    add_action( 'plugins_loaded', array( 'disable_admin_editor', 'init' ) );

class disable_admin_editor
{
    public static $instance;

    public static function init()
    {
        null === self :: $instance AND self :: $instance = new self;
        return self :: $instance;
    }

    public function __construct()
    {
        ! defined( 'DISALLOW_FILE_EDIT' ) AND define( 'DISALLOW_FILE_EDIT', true );

        add_action( 'admin_init', array( $this, 'remove_edit_submenu' ) );
        add_filter( 'plugin_action_links', array( $this, 'remove_edit_action' ), 10, 2 );
        add_action( 'admin_footer-plugin-editor.php', array( $this, 'readonly_textarea' ) );
    }

    /**
     * Remove Edit submenu
     */
    public function remove_edit_submenu()
    {
        remove_submenu_page( 'plugins.php', 'plugin-editor.php' );
        remove_submenu_page( 'themes.php', 'theme-editor.php' );
    }

    /**
     * Remove the »Edit« link from all plugins
     * @param  array  $links
     * @param  string $file
     * @return array  $links
     */
    public function remove_edit_action( $links, $file ) 
    {
        unset( $links['edit'] );
        return $links;
    }

    /**
     * Makes the editor read-only and removes the Update button
     */
    public function readonly_textarea()
    {
        echo '<script type="text/javascript">
        jQuery(document).ready( function($) {
            $( "#newcontent" ).attr( "readonly", true );
            $( "input#submit" ).remove();
        } );     
        </script>';
    }
} // END Class 

} // endif;