added FabricJS implementation (incomplete)