added reference mdct implementation
initialize data members
cast 0.5 to T, fixed sine window function
removed virtual methods from window function, use static cast instead