Unregistered "static draw" handler for sequencer
Define a "drawing class".

Similarly to method used in this answer  When registered the widgets are drawn on all VSE spaces.  When unregistered the drawing handles are removed.  Simple message and location passed to class.  In script below two "widgets" are created drawing "Bob" and "Jack" at different locations on VSE.



bl_info = {  
 "name": "VSE blf test",  
 "author": "",  
 "version": (0, 1),  
 "blender": (2, 7, 9),  
 "location": "Sequencer",  
 "description": "",  
  "wiki_url": "",  
 "tracker_url": "",  
 "category": "Sequencer"}

import bpy
import blf

class DrawingClass:
    def __init__(self, msg, loc):
        self.msg = msg
        self.loc = loc
        self.handle = bpy.types.SpaceSequenceEditor.draw_handler_add(
                   self.draw_text_callback,(loc,),
                   'WINDOW', 'POST_PIXEL')

    def draw_text_callback(self, loc):
        font_id = 0  # XXX, need to find out how best to get this.

        # draw some text
        x, y = self.loc
        blf.position(font_id, x, y, 0)
        blf.size(font_id, 66, 72)
        blf.draw(font_id, "%s" % (self.msg))

    def remove_handle(self):
         bpy.types.SpaceSequenceEditor.draw_handler_remove(self.handle, 'WINDOW')

widgets = {}
def register():
    widgets["Bob"] = DrawingClass("Bob", (0, 0))
    widgets["Jack"] = DrawingClass("Jack", (140, 140))    

def unregister():
    for key, dc in widgets.items():
        dc.remove_handle()

if __name__ == "__main__":
    register()


Might find this handy for 2D  coordinates in VSE.

PS.  Initially forgot to change SpaceView3D type in handle_remove, and found another sure fire way to crash blender.  Suggest actually passing the space type to class as well as demonstrated in BGLWidget class