Si lo que deseas es programarlo "a mano" yo probaría con diferentes componentes TImage superpuestos, cada uno para una capa. El tema de dibujar puedes hacerlo pensando en una sóla capa, luego multiples capas son múltiples componentes de dibujo.
Si posteriorente vas a necesitar mover, seleccionar, redimensionar, borrar,... los objetos seleccionados debes pensar en trabajar con objetos y no dibujar directamente sobre el canvas.
Éste componente te puede ser útil para el tema de dibujo. Yo lo he utilizado y es bastante cómodo.
http://www.delphiarea.com/products/simplegraph/
No soporta capas, pero como te he comentado eso no creo que sea difícil de gestionar por tí (con varios compoentes superpuestos).
Si quieres una solución más competa puedes mirar las librería Graphics32 que soporta de forma nativa layers.
http://g32.org/graphics32/index.html