Modify type system

Create abstract Layer Type to hold standard layers and time delay layers