Here's a Karabiner file if you're interested in having a go on your mac.
<?xml version="1.0"?>
<root>
    <!-- define new modifiers -->
    <modifierdef>MODIFIERMODIFIERLEFT</modifierdef>
    <modifierdef>MODIFIERMODIFIERRIGHT</modifierdef>
    <item>
        <name>modifier modifier</name>
        <identifier>private.modifier.modifier</identifier>
        <!-- reassign command keys to modifier modifiers -->
        <autogen>
            __KeyToKey__
            KeyCode::COMMAND_L,
            KeyCode::VK_MODIFIER_MODIFIERMODIFIERLEFT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::COMMAND_R,
            KeyCode::VK_MODIFIER_MODIFIERMODIFIERRIGHT
        </autogen>
        <!-- left hand modifiers -->
        <autogen>
            __KeyToKey__
            KeyCode::A, ModifierFlag::MODIFIERMODIFIERLEFT,
            KeyCode::OPTION_L, ModifierFlag::MODIFIERMODIFIERLEFT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::S, ModifierFlag::MODIFIERMODIFIERLEFT,
            KeyCode::CONTROL_L, ModifierFlag::MODIFIERMODIFIERLEFT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::D, ModifierFlag::MODIFIERMODIFIERLEFT,
            KeyCode::COMMAND_L, ModifierFlag::MODIFIERMODIFIERLEFT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::F, ModifierFlag::MODIFIERMODIFIERLEFT,
            KeyCode::SHIFT_L, ModifierFlag::MODIFIERMODIFIERLEFT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::G, ModifierFlag::MODIFIERMODIFIERLEFT, 
            KeyCode::FN, ModifierFlag::MODIFIERMODIFIERLEFT
        </autogen>
        <!-- right hand modifiers-->
        <autogen>
            __KeyToKey__
            KeyCode::H, ModifierFlag::MODIFIERMODIFIERRIGHT, 
            KeyCode::FN, ModifierFlag::MODIFIERMODIFIERRIGHT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::J, ModifierFlag::MODIFIERMODIFIERRIGHT,
            KeyCode::SHIFT_R, ModifierFlag::MODIFIERMODIFIERRIGHT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::K, ModifierFlag::MODIFIERMODIFIERRIGHT,
            KeyCode::COMMAND_R, ModifierFlag::MODIFIERMODIFIERRIGHT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::L, ModifierFlag::MODIFIERMODIFIERRIGHT,
            KeyCode::CONTROL_R, ModifierFlag::MODIFIERMODIFIERRIGHT
        </autogen>
        <autogen>
            __KeyToKey__
            KeyCode::SEMICOLON, ModifierFlag::MODIFIERMODIFIERRIGHT,
            KeyCode::OPTION_R, ModifierFlag::MODIFIERMODIFIERRIGHT
        </autogen>
    </item>
</root>